package com.tarena.lbs.marketing.web.repository;
import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.pager.BasePageList;
import com.tarena.lbs.pojo.marketing.bo.MarketingActivityBO;
import com.tarena.lbs.pojo.marketing.param.MarketingActivityParam;
import com.tarena.lbs.pojo.marketing.param.UpdateParam;
import com.tarena.lbs.pojo.marketing.query.MarketingActivityQuery;
import java.util.List;

public interface MarketingActivityRepository {

    void insert(MarketingActivityParam param) throws BusinessException;

    void update(MarketingActivityParam param) throws BusinessException;

    void updateStatus(UpdateParam updateParam);

    BasePageList<MarketingActivityBO> list(MarketingActivityQuery query);

    MarketingActivityBO getDetail(Integer activityId);

    List<MarketingActivityBO> selectListByStatus();

    void batchUpdateActivityStatus(List<UpdateParam> params);

    MarketingActivityBO getActivityByStoreId(Integer storeId);

    MarketingActivityBO getActivityById(Integer id);
}
